// wgldebug.hpp
//

#ifndef _WGLDEBUG_HPP
#define _WGLDEBUG_HPP

#include "wgl/wglbase.hpp"

#include <typeinfo>



#define WGL_OBJECT_NAME(obj) (wgl::wgl_object_name(typeid(obj), obj))
#define WGL_OBJECT_CNAME(obj) (wgl::wgl_object_cname(typeid(obj), obj))

// [temp]
#define WGL_DEBUG_NAME(obj) WGL_OBJECT_NAME(obj)
#define WGL_DEBUG_CNAME(obj) WGL_OBJECT_CNAME(obj)

namespace wgl
{
  std::string wgl_type_name ( const std::type_info &info );
  std::string wgl_object_name ( const std::type_info &info,
                                void *object );
  const char *wgl_object_cname ( const std::type_info &info,
                                 void *object );
}



#endif
